import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace DingdDeptInfoApi {
  /** 摩西部门信息信息 */
  export interface DingdDeptInfo {
    id: number; // 编号
    deptId?: number; // 部门ID
    code: string; // 部门编码
    name?: string; // 部门名称
    parentId?: number; // 父部门id，根部门为1
    sourceIdentifier: string; // 部门标识
    deptDesc: string; // 部门简介
    workPlace: string; // 办公地点
    orderNum: number; // 在父部门中的次序值
    deptManagerUseridList: string; // 部门的主管userd列表
    memberCount: number; // 部门员工数（包含子部门）
    owningMemberCount: number; // 部门直属员工数（不包含子部门）
  }
}
//摩西部门同步
export function getDingdDeptInfoSync() {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/sync', );
}
export function getDingdDeptInfoSyncState() {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/getSyncState', );
}
/** 查询摩西部门信息树 */
export function getDingdDeptInfoTreeList(params: PageParam) {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/tree-list', { params });
}
export function getDingdDeptInfoTree(params: PageParam) {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/tree', { params });
}
/** 查询摩西部门信息分页 */

export function getDingdDeptInfoPage(params: PageParam) {
  return requestClient.get<PageResult<DingdDeptInfoApi.DingdDeptInfo>>('/moxi/dingd-dept-info/page', { params });
}

/** 查询摩西部门信息详情 */
export function getDingdDeptInfo(id: number) {
  return requestClient.get<DingdDeptInfoApi.DingdDeptInfo>(`/moxi/dingd-dept-info/get?id=${id}`);
}

/** 新增摩西部门信息 */
export function createDingdDeptInfo(data: DingdDeptInfoApi.DingdDeptInfo) {
  return requestClient.post('/moxi/dingd-dept-info/create', data);
}

/** 修改摩西部门信息 */
export function updateDingdDeptInfo(data: DingdDeptInfoApi.DingdDeptInfo) {
  return requestClient.put('/moxi/dingd-dept-info/update', data);
}

/** 删除摩西部门信息 */
export function deleteDingdDeptInfo(id: number) {
  return requestClient.delete(`/moxi/dingd-dept-info/delete?id=${id}`);
}

/** 批量删除摩西部门信息 */
export function deleteDingdDeptInfoList(ids: number[]) {
  return requestClient.delete(`/moxi/dingd-dept-info/delete-list?ids=${ids.join(',')}`)
}

/** 导出摩西部门信息 */
export function exportDingdDeptInfo(params: any) {
  return requestClient.download('/moxi/dingd-dept-info/export-excel', params);
}


